<?php

namespace Common\Controller;

use Think\Controller;

/**
 * 前台公共控制器
 * 为防止多分组Controller名称冲突，公共Controller名称统一使用分组名称
 */
class BaseController extends Controller
{
    public $current_user = null;

    /* 空操作，用于输出404页面 */
    public function _empty()
    {
        $this->redirect('Index/index');
    }

    protected function _initialize()
    {
//        return true;
        $this->login();

        $this->current_user = session('user_auth');
        $user_menu_list = session('user_menu_list');
        $this->assign('user_auth', $this->current_user);

//        $this->assign('user_menu_list', $user_menu_list);

        $path = $_SERVER["REQUEST_URI"];
//        $path = $_SERVER["REDIRECT_URL"];
        $current_menu = fc_get_menu_by_path($user_menu_list, $path);

        session('current_menu',$current_menu);
//        $this->assign('current_menu', $current_menu);
    }

    /* 用户登录检测 */
    protected function login()
    {
        /* 用户登录检测 */
        is_login() || $this->redirect('/');//$this->error('您还没有登录，请先登录！', U('/'));
    }

    protected function menu()
    {
        $data = S('sys_menu_list');
        if (empty($data)) {
            $model = M('sys_menu');
            $data = S('sys_menu_list');
            if (empty($data)) {
                $data = $model->where('state>=0')->select();
            }
            $data = list_to_tree($data);
            S('sys_menu_list', $data, 86400);
        }
        return $data;
    }

//    protected function user()
//    {
//        $user = M('sys_user');
//        $data = $user->where('state>=0')->select();
//        return $data;
//    }

//    protected function employees()
//    {
//        $user = M('sys_user');
//        $data2 = $user->join('sys_role r on sys_user.roleId=r.id')
//            ->where('sys_user.state>=0 and r.auth=0')
//            ->field('sys_user.id')
//            ->select();
//        return $data2;
//    }

//    public function employeesByTrace($trace = "", $roleid = null, $noid = null)
//    {
//        if (empty($trace)) {
//            return null;
//        }
//        $user = M('v_user_role_org');
//        if (!empty($roleid)) {
//            $where['roleId'] = array('eq', $roleid);
//        }
//        if (!empty($noid)) {
//            $where['id'] = array('neq', $noid);
//        }
//        $where['state'] = array('egt', 0);
//        $where['orgtrace'] = array('like', $trace . '%');
//        $data2 = $user->where($where)
//            ->field('id')
//            ->select();
//        return $data2;
//    }

//    public function msgList()
//    {
//        $model = new SysMessageModel();
//        $list = $model->lists(null, null, null, null, null);
//        dump($list);
//        die();
//    }
//
//    public function removeMsg()
//    {
//        $model = new SysMessageModel();
//        $result = $model->remove($_GET['id']);
//        die();
//    }
//
//    public function addMsgTest()
//    {
//        $r = fc_add_message(1, uuid(), 0, 1, 1);
//        echo $r;
//        die();
//    }
}
